home *** CD-ROM | disk | FTP | other *** search
- //Language: C
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal,CaseSensitive
- State=sstring1
- State=sstring2
- State=scomment1
- State=scomment2
- State=sdirective
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- snormal 'auto' snormal tresword
- snormal 'break' snormal tresword
- snormal 'case' snormal tresword
- snormal 'cdecl' snormal tresword
- snormal 'char' snormal tresword
- snormal 'const' snormal tresword
- snormal 'continue' snormal tresword
- snormal 'default' snormal tresword
- snormal 'do' snormal tresword
- snormal 'double' snormal tresword
- snormal 'else' snormal tresword
- snormal 'enum' snormal tresword
- snormal 'extern' snormal tresword
- snormal 'far' snormal tresword
- snormal 'float' snormal tresword
- snormal 'for' snormal tresword
- snormal 'fortran' snormal tresword
- snormal 'goto' snormal tresword
- snormal 'huge' snormal tresword
- snormal 'if' snormal tresword
- snormal 'int' snormal tresword
- snormal 'interrupt' snormal tresword
- snormal 'long' snormal tresword
- snormal 'near' snormal tresword
- snormal 'pascal' snormal tresword
- snormal 'register' snormal tresword
- snormal 'return' snormal tresword
- snormal 'short' snormal tresword
- snormal 'signed' snormal tresword
- snormal 'sizeof' snormal tresword
- snormal 'static' snormal tresword
- snormal 'struct' snormal tresword
- snormal 'switch' snormal tresword
- snormal 'typedef' snormal tresword
- snormal 'union' snormal tresword
- snormal 'unsigned' snormal tresword
- snormal 'void' snormal tresword
- snormal 'volatile' snormal tresword
- snormal 'while' snormal tresword
-
-
- // numbers
-
- snormal [0-9][0-9]* snormal tinteger
- snormal 0X[0-9A-F]+ snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //white space
- snormal #32* snormal twhitespace
-
- //comments
- snormal // scomment1 tcomment
- scomment1 [#1-#255]* snormal tcomment
- scomment1 $ snormal tcomment
-
- snormal /\* scomment2 tcomment
- scomment2 [^\*]* scomment2 tcomment
- scomment2 \*[^/] scomment2 tcomment
- scomment2 [\*]*/ snormal tcomment
-
-
- //strings
- snormal \' sstring1 tstring
- sstring1 [^\']* sstring1 tstring
- sstring1 \' snormal tstring
- sstring1 \'\' sstring1 tstring
- sstring1 \\ sstring1 tstring
- sstring1 \\\' sstring1 tstring
- sstring1 $ snormal tstring
-
- //strings
- snormal \" sstring2 tstring
- sstring2 [^\"]* sstring2 tstring
- sstring2 \" snormal tstring
- sstring2 \"\" sstring2 tstring
- sstring2 \\ sstring2 tstring
- sstring2 \\\" sstring2 tstring
- sstring2 $ snormal tstring
-
-
- //directives
-
- snormal \# sdirective tdirective
- sdirective [#1-#255]* snormal tdirective
- sdirective $ snormal tdirective
-
- // urls
- snormal www\.[a-z_A-Z0-9@\-.]* snormal turl
- snormal mailto:[a-z_A-Z0-9@\-.]* snormal turl
-
-
-
-